using SmartMathLibrary;

namespace SmartMathLibrary.LinearEquationSolvers.Preconditioners
{
    /// <summary>
    /// This interface represents an abstract preconditioner and has to be implement in all preconditioners.
    /// </summary>
    public interface IPreconditioner
    {
        /// <summary>
        /// Computes the precondition matrix of the specified matrix.
        /// </summary>
        /// <returns>The computed precondition matrix of the original matrix.</returns>
        Matrix ComputePreconditionMatrix();
    }
}